package com.xl.web.dao.dict;

import java.util.List;

import com.xl.base.dao.BaseDao;
import com.xl.base.page.BasePage;
import com.xl.web.entity.dict.DictBase;

public interface DictDao<T> extends BaseDao<T>  {
	
	/**
	 * 获取唯一的字典值
	 */
	public DictBase getDictLabel(DictBase dictBase);
	/**
	 * 获取唯一的字典value
	 * @param dictBase
	 * @return
	 */
	public DictBase getDictName(DictBase dictBase);
	/**
	 * 获取多个字典值
	 * @param dictBase
	 * @return
	 */
	public List<DictBase> getDictLabels(DictBase dictBase);
	
	/**
	 * 根绝dictType获取字典列表
	 * @param dictType
	 * @return
	 */
	public List<DictBase> getDictList(Object dictType);
	
	/**
	 * 根据Type获取到字典类型
	 */
	public DictBase queryByType(DictBase dictBase);
	
	/**
	 * 获取字典类型列表的数量
	 * @param page
	 * @return
	 */
	public int queryTypeByCount(BasePage page);
	
	/**
	 * 获取字典类型列表
	 * @param page
	 * @return
	 */
	public List<T> queryTypeByList(BasePage page);
	
	/**
	 * 验证字典是否存在
	 * @param dictBase
	 * @return
	 */
	public List<DictBase> checkDictExist(DictBase dictBase);
}
